A storage server is a processing system that is used to store and retrieve data on behalf of one or more clients on a network. A storage server operates on behalf of one or more clients to store and manage data in a set of mass storage devices, such as magnetic, optical or solid-state storage-based disks or tapes. In conventional network storage systems, the mass storage devices can be organized into one or more groups of drives (e.g., redundant array of inexpensive drives (RAID)).
A storage server can be configured to service file-level requests from clients, as in the case of file servers used in a Network Attached Storage (NAS) environment. Alternatively, a storage server can be configured to service block-level requests from clients, as done by storage servers used in a Storage Area Network (SAN) environment. Further, some storage servers are capable of servicing both file-level and block-level requests, as done by certain storage servers made by NetApp, Inc. of Sunnyvale, Calif.
A storage server provides various types of storage services to networked clients. One useful feature of some storage servers is the ability to create different types of storage structures for storing data. For example, a read-only Persistent Point-in-time Image (PPI), or “snapshot”, of a dataset can be useful for backup, restore, and/or security purposes (the term “snapshot” is used in this document without derogation of any trademark rights of NetApp, Inc.). A read-only PPI not only captures the exact state of the dataset at the time of the PPI's creation, but also prevents unauthorized or mistaken modification or deletion of any data contained therein. However, in some instances a PPI might contain sensitive or confidential data, such as social security numbers, credit card numbers, birthdates, etc. It may be undesirable to retain such data indefinitely. Consequently, a problem exists of how to carry out authorized deletion of selected sensitive or confidential data captured in a PPI.